เตรียมความพร้อม
ในบทความนี้ต้องการ Kohya GUI ติดตั้งอยู่ในเครื่องเรียบร้อยแล้ว
หากยังไม่ได้ทำการติดตั้งสามารถดูวิธีติดตั้งได้ ที่นี่
เตรียม Folder และไฟล์ข้อมูลเบื้อต้น
1. สร้าง Folder image เพื่อเป็นรูปตัวอย่าง และ model สำหรับเซฟ model ไว้ในที่ต้องการ
2. ใน Folder image ให้สร้าง Folder ชื่อ “100_keyword” ในตัวอย่างนี้คือ “100_montri” เลข 100 คือจำนวนครั้งที่จะเทรนในแต่ละรูป
3. ใน Folder 100_keyword ให้ใส่รูปภาพที่เราต้องการเทรนลงไปโดยมีชื่อเป็นตัวเลขเรียงไปเรื่อยๆ ถ้าเทรนด้วย SD model ให้ใช้ภาพขนาด 512x512 ถ้าใช้ SDXL model ให้ใช้ภาพขนาด 1024x1024
ใส่คำบรรยายให้กับรูปแบบอัตโนมัติ
4. เปิด Kohya GUI แล้วไปที่แถบ “Utilities -> Captioning -> BLIP Captioning”
5. เลือก Folder ที่เก็บภาพต้นฉบับ
6. ใส่ keyword ที่ต้องการเทรนในส่วนของ “Prefix to add to BLIP caption”
7. กดปุ่ม “Caption images”
8. เมื่อเสร็จเรียบร้อยจะได้ไฟล์ .txt ที่มีคำบรรยายของแต่ละรูป
ตั้งค่าเพื่อเทรน LoRA
9. Download template config ที่ทำการตั้งค่าเบื้อต้นมาแล้วด้านล่าง
SD Download ที่นี่
SDXL Download ที่นี่
10. เปิด Kohya GUI แล้วไปที่แถบ “LoRA -> Training”
11. ในส่วนของ Configuration ให้เปิดไฟล์ config ที่โหลดในขั้นตอนที่ 9
12. ในส่วนของ Pretrained model name or path ให้เลือกโมเดลต้นฉบับที่ต้องการ
13. แก้ไข Image folder ให้ไปที่เราเก็บรูปเอาไว้
14. แก้ไข Trained Model output name เป็นชื่อที่เราต้องการบันทึก
15. แก้ไข Folder -> Output folder เป็น Folder ที่เราจะบันทึก LoRA model
16. ในส่วนของ Parameters -> Samples -> Sample prompts ให้ใส่ keyword ที่เราเทรนเพื่อ generate ภาพตัวอย่างในแต่ละ epochs
17. เมื่อพร้อมแล้วให้กดปุ่ม Start training
18. รอ … ใน cmd ของ kohya จะแสดงเวลาการเทรนโดยประมาณให้เห็น
19. เมื่อทำการเทรนเสร็จแล้วใน Folder model จะมี LoRA model 6 ตัวจากการเทรน 6 Epochs
คัดเลือก LoRA Model ที่ดีที่สุด
20. ทำการเปลี่ยนชื่อไฟล์ที่ไม่มีเลขลงท้ายให้ลงท้ายด้วย 000000
21. ย้าย LoRA model ไปใน Stable Diffusion WebUI (stable-diffusion-webui\models\Lora)
22. เปิด Stable Diffusion WebUI เลือก model ให้ตรงกับ Pretrained model ในข้อ 12
23. ใน prompt ให้ใส่ keyword ที่เราเทรนและ LoRA ตัวที่ 000000 และน้ำหนักที่ 0.5
24. ในส่วนของ Script ให้ตั้งค่าตามด้านล่างเพื่อให้ WebUI สร้างภาพจาก LoRA ของแต่ละหมายเลข และน้ำหนักที่แตกต่างกัน
25. กดปุ่ม Generate และรอ …
26. เมื่อเสร็จสิ้นแล้วจะได้ grid ของ LoRA ที่ stable-diffusion-webui\output\txt2img-grids
จากรูปตัวอย่างจะเห็นได้ว่า LoRA ทำงานได้ดีที่สุดอยู่ในช่วงหมายเลข 00004 โดยใช้น้ำหนัก 0.8
หากต้องการผลลัพธ์ที่แม่นยำมากขึ้นจะต้องมีจำนวนรูปภาพมากขึ้น หรือเพิ่มตำนวนครั้งการเทรนในขั้นตอนที่ 2 หรือลองเล่นกับค่าอื่นๆ ในตัว Kohya GUI